<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Cadastro Visitante</title>
    </h:head>
    <h:body>
        <p:fieldset legend="Lista de Visitantes">
            <h:form id="formVisitante">
            <p:message id="messageVisitante" for="messageVisitante"/> 
                
                <p:dataTable id="dtVisitante" value="#{visitanteMB.all}" var="visitante" rowKey="#{visitante.codigo}" selection="#{visitanteMB.visitanteSelecionado}" selectionMode="single">
                    <p:column headerText="Nome">
                        <h:outputLabel value="#{visitante.nome}"/>
                    </p:column>
                    <p:column headerText="Bloco">
                        <h:outputLabel value="#{visitante.apartamentoCodigo.blocoCodigo.bloco}"/>
                    </p:column>
                    <p:column headerText="Apartamento">
                        <h:outputLabel value="#{visitante.apartamentoCodigo.apartamento}"/>
                    </p:column>
                    <p:column headerText="Data">
                        <h:outputLabel value="#{visitante.data}"/>
                    </p:column>
                    <p:column headerText="Editar">
                        <p:commandButton value="Editar" oncomplete="modalVisitante.show()" update=":tabView:cadastroVisitante" actionListener="#{visitanteMB.abrirEditar()}">
                            <f:setPropertyActionListener value="#{visitante}" target="#{visitanteMB.visitanteSelecionado}"/>
                        </p:commandButton>
                    </p:column>
                    <p:column headerText="Excluir">
                        <p:commandButton value="Excluir" update=":tabView:formVisitante" actionListener="#{visitanteMB.delete()}">
                            <f:setPropertyActionListener value="#{visitante}" target="#{visitanteMB.visitanteSelecionado}"/>
                        </p:commandButton>
                    </p:column>
                </p:dataTable>
                <p:commandButton value="Add" onclick="modalVisitante.show()"/>
            </h:form> 
        </p:fieldset>  

        <p:dialog appendToBody="true" id="idModalVisitante" header="Cadastro de Visitante" widgetVar="modalVisitante" modal="true">
            <h:form id="cadastroVisitante"> 
                <p:panel id="panelMorador">
                    <p:messages />  
                    <h:panelGrid columns="2">
                        <h:outputLabel value="Nome completo"/>
                        <h:inputHidden/>
                        <p:inputText value="#{visitanteMB.visitante.nome}" required="true" requiredMessage="Por favor coloque um nome"/>
                        <h:inputHidden/>

                        <h:outputLabel value="Bloco"/>
                        <h:outputLabel value="Apartamento"/>

                        <p:selectOneMenu required="true" requiredMessage="Por favor selecione um Bloco" value="#{visitanteMB.idBloco}">
                            <f:selectItem itemLabel="Selecione"/>
                            <f:selectItems value="#{visitanteMB.listBloco}"/>
                            <p:ajax update="cbApVi" event="change"/>
                        </p:selectOneMenu>
                        <p:selectOneMenu id="cbApVi" required="true" requiredMessage="Por favor selecione um Apartamento" value="#{visitanteMB.idAp}">
                            <f:selectItem itemLabel="Selecione"/>
                            <f:selectItems value="#{visitanteMB.listAp}"/>
                        </p:selectOneMenu>

                        <h:outputLabel value="Data"/>
                        <h:inputHidden/>

                        <p:calendar value="#{visitanteMB.visitante.data}" showOn="button" required="true" requiredMessage="Por favor coloca uma data"/>
                        <h:inputHidden/>

                        <p:commandButton value="Cancelar" oncomplete="modalVisitante.hide()" actionListener="#{visitanteMB.clean()}" update="cadastroVisitante"/>                    
                        <p:commandButton id="btSaveVisitante" value="Salvar" action="#{visitanteMB.salvar()}" update="cadastroVisitante :tabView:formVisitante"/>

                    </h:panelGrid>
                </p:panel>
            </h:form>

        </p:dialog>
    </h:body>
</html>

